package br.com.extrajudicial.models;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import br.com.caelum.vraptor.ioc.Component;
import br.com.caelum.vraptor.ioc.SessionScoped;

@Component
@SessionScoped
public class Cart {
	
	private List<ItemOrder> cartItems = new ArrayList<ItemOrder>();

	public List<ItemOrder> getCartItems() {
		return cartItems;
	}

	public void setCartItems(List<ItemOrder> cartItems) {
		this.cartItems = cartItems;
	}

	public void add(ItemOrder cartItem) {
		this.cartItems.add(cartItem);
	}
	
	public Integer getTotalItems() {
		return this.cartItems.size();
	}
	
	public BigDecimal getTotalPrice() {
		Double totalPrice = 0.0;
		for (ItemOrder cartItem : cartItems) {			
			totalPrice += cartItem.getItem().getUnityPrice().doubleValue() * cartItem.getQuantity();
		}
		return new BigDecimal(totalPrice);
	}

	public void remove(int index) {
		this.cartItems.remove(index);
	}

	public void clearCart() {
		this.cartItems.clear();
	}
	
}
